import store from '@/store'

/**
 * @param {Array} value
 * @returns {Boolean}
 * @example see @/views/permission/directive.vue
 */
export default function checkPermission(value) {
  if (value && value instanceof Array && value.length > 0) {
    const roles = store.getters && store.getters.roles
    const permissionRoles = value

    const hasPermission = roles.some(role => {
      return permissionRoles.includes(role)
    })

    if (!hasPermission) {
      return false
    }
    return true
  } else {
    console.error(`need roles! Like v-permission="['admin','editor']"`)
    return false
  }
}

/**
 * @param  currentRoute  //要获取权限的路由ID
 * @returns  返回该路由的权限  ， 格式如 {add:true,delete:true.... }
 */
export function getPermission(currentRoute) {

  var permission = {}
  var _routes = store.getters.routes;
  _routes.forEach((route) => {
    if (route.children.length > 0) {
      route.children.forEach((item) => {
        if (item.id == currentRoute) {
          permission.add = item.permission[0];
          permission.delete = item.permission[1];
          permission.edit = item.permission[2];
          permission.query = item.permission[3];
          return;
        }
      });
    }
  });
  return permission;
}
